package com.hpeu_12.day1222;

/**
 * 
 * @author clover
 *作业03-第三题
 */
public class Test03 {
	public static void main(String[] args) {
		byte b1=3,b2=4,b;
		//b=b1+b2;
		b=3+4;
		//哪句是编译失败的呢？为什么呢？
		/*答：b=b1+b2会出错。byte运算先变成int再计算，因为他们最终是要转向int类型，
		 * 而int类型的值是不能赋值给byte、char、short，编译是都需要转成int,才可运算
		 * 
		 * b=3+4;正确  因为它们都是常量，具有常量类型优化机制，可以直接识别为byte,两个常量相加，
		 * 先计算常量的数值，然后判断是否满足数据类型的范围，再赋值
		 */
	}
}
